package com.atguigu.gulimall.coupon;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;


/*
* nacos配置中心
* 1）、引入依赖
*       <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
* 2)、创建一个bootstrap.perproties，
*           配置服务器地址 和 应用名
* 3)、在8848中添加一个 应用名.properties  的应用集
* 4）、动态获取配置
*           @RefreshScope 动态获取并刷新配置
*             @Value("${coupon.user.name}")   $() 为application.properties 的内容
               private String name;
*           配置中心的优先级 > bootstrap.properties
*
* 开发、测试、开发可以用命名空间分割。properties每个空间有一份。

	在bootstrap.properties里配置

    spring.cloud.nacos.config.namespace=b176a68a-6800-4648-833b-be10be8bab00  	# 可以选择对应的命名空间 ,即写上对应环境的命名空间ID

        也可以为每个微服务配置一个命名空间，微服务互相隔离

            配置集：一组相关或不相关配置项的集合。

            配置集ID：类似于配置文件名，即Data ID

            配置分组：默认所有的配置集都属于DEFAULT_GROUP。自己可以创建分组，比如双十一，618，双十二

            spring.cloud.nacos.config.group=DEFAULT_GROUP  # 更改配置分组
                最终方案：每个微服务创建自己的命名空间，然后使用配置分组区分环境（dev/test/prod）

                    加载多配置集
                    我们要把原来application.yml里的内容都分文件抽离出去。我们在nacos里创建好
                    后，在coupons里指定要导入的配置即可。(一般在项目完成后才这么做)

* */
@EnableDiscoveryClient
@SpringBootApplication
public class GulimallCouponApplication {

    public static void main(String[] args) {
        SpringApplication.run(GulimallCouponApplication.class, args);
    }

}
